widget: Avoid critical warnings when disconnecting plain GtkEventControllers
authorCarlos Garnacho <carlosg@gnome.org>
Thu, 5 Nov 2015 12:13:37 +0000 (13:13 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Thu, 5 Nov 2015 13:32:37 +0000 (14:32 +0100)
This signal is only set on GtkGesture objects, so check it's really there
before disconnecting.

gtk/gtkwidget.c

index fe28d1a9fbbae8768a4a4c2bd0c2a08b98957f35..78cfd5e00290a7f67968cf25d73f5bf5ec9c682e 100644 (file)
@@ -17500,7 +17500,9 @@ _gtk_widget_remove_controller (GtkWidget          *widget,
   if (g_signal_handler_is_connected (widget, data->grab_notify_id))
     g_signal_handler_disconnect (widget, data->grab_notify_id);
 
-  g_signal_handler_disconnect (data->controller, data->sequence_state_changed_id);
+  if (data->sequence_state_changed_id)
+    g_signal_handler_disconnect (data->controller, data->sequence_state_changed_id);
+
   data->controller = NULL;
 }